package com.zy.facepp.rest;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.fastjson.JSONObject;
import com.zy.facepp.bean.FaceCompareParams;
import com.zy.facepp.service.FacePlusPlusFaceService;

import io.swagger.annotations.ApiOperation;

/**
 * Face++ Face Controller
 *
 * @author zhanghengchang
 * @date 2018/3/16
 */
@RestController
public class FacePlusPlusFaceController {

    private static final Logger logger = LoggerFactory.getLogger(FacePlusPlusFaceController.class);

    @Autowired
    private FacePlusPlusFaceService facePlusPlusService;

    /**
     * 人脸比对
     *
     * @param params face_token1 第一个人脸标识 <br/>
     *        face_token (四选一) <br/>
     *        image_url1 第一张图片的 <br/>
     *        URL image_file1 第一张图片，二进制文件 <br/>
     *        image_base64_1 第一张图片base64编码的二进制图片数据<br/>
     *        face_token2 第二个人脸标识<br/>
     *        face_token (四选一) <br/>
     *        image_url2 第二张图片的 URL <br/>
     *        image_file2 第二张图片，二进制文件 <br/>
     *        image_base64_2 第二张图片base64编码的二进制图片数据
     * @return 两张人脸比对结果
     */
    @ApiOperation(value = "人脸比对", notes = "{requestId, imageUrl1, imageUrl2}")
    @PostMapping(value = "/compare")
    public JSONObject faceCompare(@RequestBody FaceCompareParams params) {
        return facePlusPlusService.faceCompare(params);
    }
}
